const Upload = require('../../utils/Upload')
const minioMiddleware = require('../../utils/minio')
const FileController = require('../../controller_file/index') // 文件管理
const file = require('../../models/file')


const router = require('koa-router')({//koa路由框架（隐式传入ctx）而不是express框架（隐式传入req和res）
    prefix: '/api/v1/file'
})

// 更新文件
router.put('/', FileController.updateFile)
// 搜索文件
router.get('/search', FileController.searchFile)
// 文件详情
router.get('/file', FileController.getFile)
// 获取文件
router.get('/list', FileController.listFile)
// 获取文件树状目录
router.get('/tree', FileController.listTree)
// 生成文件。？为什么前端没看到调用？
router.post('/create', FileController.createFile)
// 单文件上传
// router.post('/upload', Upload.single('file'), FileController.uploadFile)
// 上传到MinIO的路由
router.post('/upload', 
    Upload.single('file'), // 先处理文件上传
    minioMiddleware,       // 再处理MinIO存储
    FileController.uploadFileMinio // 最后处理数据库操作
)

router.get('/take',Upload.single('file'),FileController.takePic)
// 删除文件
router.delete('/', FileController.delFile)



module.exports = router